记录一下异步机制的一些问题和不理解的地方
贴一个地址:http://segmentfault.com/a/1190000001813992#articleHeader6
上下文:好像是指的目前处在调度队列中的进程和线程,包括运行态、就绪态和睡眠态的所有进程和线程
立刻返回:这个是在阻塞的时候立刻返回,但是返回什么,返回之后该进程如何都是个问题
系统读取和写入的时候立刻返回:读取和写入的时候返回,那么程序还会进行吗
**这里指的好像是如果有数据就带数据返回,没有的话就返回一个状态码,而不是阻塞等数据**
不过有另一个问题,如果数据很多,那需要立刻返回还是带着所有数据返回呢
就绪通知技术:应该是指的fd就绪,也就是当前IO可用的时候
就绪通知状态:就绪通知维护一个状态,由用户读取;在数据就绪时就生效
据说linux下比较流行就绪通知技术,select、poll、epoll都是这一类
EPOLL方案:这个内容比较多,不过提了一点说是epoll不能使用在普通文件上,这个普通文件到底是什么
异步IO:而异步IO由系统调用用户的回调函数,而异步IO直到数据IO完成才发生回调。
协程:一种编程组件,可以在不陷入内核的情况下进行上下文切换,这里不陷入内核是什么意思
协程上下文对象还可以关联fd,然后当fd就绪的时候通知协程恢复执行,协程关联fd又是如何做到的
协程能调度的是同一进程中的不同上下文,这个又如何才能理解
回调模型:在IO调用的时候,同时传入一个函数,作为返回函数。
当IO结束时,调用传入的函数来处理下面的流程。
需要思考的问题:
1、函数的调用过程为什么必须是一个栈?
2、IO过程在什么时间发生?调用发生时,还是回调时?
3、回调函数从哪里调用?如果当时利用工具去看上下文的话,调用栈是什么样子的?
python frame:这个到底是什么
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。